/*
    SPDX-FileCopyrightText: 2010 Martin Gräßlin <mgraesslin@kde.org>
    SPDX-FileCopyrightText: 2021 Vlad Zahorodnii <vlad.zahorodnii@kde.org>

    SPDX-License-Identifier: GPL-2.0-or-later
*/

#pragma once

#include <QDBusContext>
#include <QDBusMessage>
#include <QDBusUnixFileDescriptor>

namespace KWin
{
class ScreenShotDBusInterfaceKylin : public QObject, protected QDBusContext
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.ukui.kwin.Screenshot")

public:
    explicit ScreenShotDBusInterfaceKylin(QObject *parent = nullptr);
    ~ScreenShotDBusInterfaceKylin() override;

public Q_SLOTS:
    Q_SCRIPTABLE void screenshotForWindow(qulonglong winid, int mask = 0);

    Q_SCRIPTABLE QString screenshotArea(int x, int y, int width, int height, bool captureCursor = false);
};

} // namespace KWin
